// 引入公用的自定义函数
var $ = require('../../../utils/js.js');
var img_src = $.img_src;

Page({
  // 页面的初始数据
  data: {
    // 图片路径的公用部分
    img_src: img_src,

    // 获取选中的商品
    buy_goods: "",
    // 要购买的商品数据
    goods_data: "",

    // 要提交的数据
    form: {
      // 预约人姓名
      appoint_person: "",
      // 预约人mobile
      appoint_mobile: "",
      // 预约时间
      appoint_time: "",
      // 备注
      user_note: "",
      // 要购买的商品列表
      data: "",
    }
  },
  // 生命周期函数--监听页面加载
  onLoad: function(options) {
    var buy_goods = getApp().data.buy_goods;
    // 获取选中的商品
    this.setData({
      buy_goods: buy_goods,
      goods_data: buy_goods[0]
    })
  },
  // 生命周期函数--监听页面初次渲染完成
  onReady: function() {

  },
  // 生命周期函数--监听页面显示
  onShow: function() {

  },
  // 自定义函数   开始
  // 点击预约时间
  yu_yue_fun() {
    $.open("/pages/goods/yu_yue_time/yu_yue_time");
  },
  input_fun(e) {
    var value = $.value(e);
    var key = $.data(e, "name");
    var form = this.data.form;
    form[key] = value;
    this.setData({
      form: form
    })
  },
  // 点击提交订单
  form_fun() {
    var form = this.data.form;
    if (form.appoint_person == "") {
      $.ti_shi("请填写预约人姓名");
      return false;
    }

    if (form.appoint_mobile == "") {
      $.ti_shi("请填写预约人的联系电话");
      return false;
    }

    if (form.appoint_time == "") {
      $.ti_shi("请选择预约时间");
      return false;
    }

    // 获取要购买的商品
    var buy_goods = this.data.buy_goods;
    var goods_arr = [];
    var cart_ids = [];
    buy_goods.forEach((obj) => {
      // 如果有购物车id
      if (obj.id) {
        cart_ids.push(obj.id);
      }

      var prom_type = 0;
      var prom_id = 0;
      if (obj.prom_type) {
        prom_type = obj.prom_type;
        prom_id = obj.prom_id;
      }
      goods_arr.push({
        prom_type: prom_type,
        prom_id: prom_id,

        goods_id: obj.goods_id,
        item_id: obj.item_id,
        spec_key: obj.spec_key,
        goods_num: obj.goods_num,
      })
    })
    var goods_str = JSON.stringify(goods_arr);
    form.data = goods_str;
    form.cart_ids = JSON.stringify(cart_ids);

    var goods_data = this.data.goods_data;
    var money = goods_data.goods_price * goods_data.goods_num;
    // 应付款金额和订单总价
    form.order_amount = form.total_amount = money;
    // 运费
    form.shipping_price = 0;
    console.log(form);
    $.ajax_post({
      url: "/shopapi/cart/create_order",
      data: form,
      success: (res) => {
        var data = res.data.data;
        console.log(data);
        $.zhi_fu({
          data: {
            order_id: data.id,
            table: data.table,
          },
          success: (res) => {
            $.ajax_get({
              url: "/api/pay/sucesss",
              data: {
                order_id: data.id,
                table: data.table,
              },
              success: (res) => {
                if (res.data.code == 1) {
                  $.dui_hua({
                    title: "支付成功",
                    content: "您可以选择查看订单或返回上一页。",
                    l_text: "查看订单",
                    r_text: "返回",
                    l_fun: () => {
                      $.href("/pages/my/yuyue_xiangqing/yuyue_xiangqing?id=" + data.id);
                    },
                    r_fun: () => {
                      $.back(1);
                    },
                  })
                }
              }
            })
          },
          fail: (res) => {
            $.dui_hua({
              title: "支付失败",
              content: "您可以选择查看订单或返回上一页。",
              l_text: "查看订单",
              r_text: "返回",
              l_fun: () => {
                $.href("/pages/my/yuyue_xiangqing/yuyue_xiangqing?id=" + data.id);
              },
              r_fun: () => {
                $.back(1);
              },
            })
          }
        })
      }
    })
  },
  // 自定义函数   结束
  // 生命周期函数--监听页面隐藏
  onHide: function() {

  },
  // 生命周期函数--监听页面卸载
  onUnload: function() {

  },
  // 页面相关事件处理函数--监听用户下拉动作
  onPullDownRefresh: function() {

  },
  // 页面上拉触底事件的处理函数
  onReachBottom: function() {

  },
  // 用户点击右上角分享
  // onShareAppMessage: function() {

  // }
})